import { IPSDEFVRGroupCondition } from './ipsdefvrgroup-condition';
import { IPSSysPFPlugin } from '../../../res/ipssys-pfplugin';
import { IPSModelObject } from '../../../ipsmodel-object';

/**
 *
 * @export
 * @interface IPSDEFValueRule
 */
export interface IPSDEFValueRule extends IPSModelObject {
  /**
   * 代码名称
   * @type {string}
   */
  codeName: string;

  /**
   * 实体属性值规则条件
   *
   * @type {IPSDEFVRGroupCondition}
   */
  getPSDEFVRGroupCondition(): IPSDEFVRGroupCondition | null;

  /**
   * 前端扩展插件
   *
   * @type {IPSSysPFPlugin}
   */
  getPSSysPFPlugin(): IPSSysPFPlugin | null;

  /**
   * 规则信息
   * @type {string}
   */
  ruleInfo: string;

  /**
   * 规则标记
   * @type {string}
   */
  ruleTag: string;

  /**
   * 规则标记2
   * @type {string}
   */
  ruleTag2: string;

  /**
   * 脚本代码
   * @type {string}
   */
  scriptCode: string;

  /**
   * 默认检查
   * @type {boolean}
   */
  checkDefault: boolean;

  /**
   * 自定义脚本代码
   * @type {boolean}
   * @default false
   */
  customCode: boolean;

  /**
   * 默认规则
   * @type {boolean}
   */
  defaultMode: boolean;

  /**
   * 支持后台执行
   * @type {boolean}
   */
  enableBackend: boolean;

  /**
   * 支持前台执行
   * @type {boolean}
   */
  enableFront: boolean;
}
